<template>
	<view class="content">
		<button class="size" @tap="getServices">获取登录鉴权列表</button>
		<view v-for="site in auths" :key="site.id" @tap="authorize(site)">
			{{site.description}}{{site.id}}-{{site.nativeClient}}--{{site.userInfo}}请求授权认证
		</view>
		<!-- <button class="size" @tap="authorize">请求授权认证</button> -->
		<button class="size" @tap="logout">注销登录认证</button>
		<button class="size" @tap="login">请求认证登陆</button>
		<button class="size" @tap="getUserInfo">获取用户信息</button>
	</view>
</template>

<script>
	export default {
		data() {
			return {
				cmr: null,
				auths: [],
				aweixin: null
			}
		},
		onLoad() {

		},
		methods: {
			getServices() {
				let that = this;
				plus.oauth.getServices(function(services) {
					that.auths = services;
				}, function(e) {
					plus.nativeUI.alert("获取登录鉴权服务列表失败：" + JSON.stringify(e));
				});
			},
			authorize(site) {
				this.aweixin = site;
				console.log("aweixin=>", this.aweixin)
				if (!this.aweixin) {
					plus.nativeUI.alert(`当前环境不支持${site.description}登录`);
					return;
				}
				this.aweixin.authorize(function(e) {
					plus.nativeUI.alert("授权成功：" + JSON.stringify(e));
				}, function(e) {
					plus.nativeUI.alert("授权失败：" + JSON.stringify(e));
				});
			},
			logout() {
				if (!this.aweixin) {
					plus.nativeUI.alert("当前环境不支持登录");
					return;
				}
				this.aweixin.logout(function(e) {
					plus.nativeUI.alert("注销登录认证成功!");
				}, function(e) {
					plus.nativeUI.alert("注销登录认证失败: " + JSON.stringify(e));
				});

			},
			login() {
				if (!this.aweixin) {
					plus.nativeUI.alert("当前环境不支持微信登录");
					return;
				}
				if (!this.aweixin.authResult) {
					this.aweixin.login(function(e) {
						plus.nativeUI.alert("登录认证成功!");
					}, function(e) {
						plus.nativeUI.alert("登录认证失败: " + JSON.stringify(e));
					});
				} else {
					plus.nativeUI.alert("已经登录认证!");
				}

			},
			getUserInfo() {
				if (!this.aweixin) {
					plus.nativeUI.alert("当前环境不支持微信登录");
					return;
				}
				if (this.aweixin.authResult) {
					this.aweixin.getUserInfo(function(e) {
						plus.nativeUI.alert("获取用户信息成功：" + JSON.stringify(e));
					}, function(e) {
						plus.nativeUI.alert("获取用户信息失败： " + JSON.stringify(e));
					});
				} else {
					plus.nativeUI.alert("未登录认证!");
				}
			}
		}
	}
</script>

<style>
	.content {
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
	}

	.logo {
		height: 200rpx;
		width: 200rpx;
		margin-top: 200rpx;
		margin-left: auto;
		margin-right: auto;
		margin-bottom: 50rpx;
	}

	.text-area {
		display: flex;
		justify-content: center;
	}

	.title {
		font-size: 36rpx;
		color: #8f8f94;
	}

	.size {
		margin: 30rpx 0;
	}
</style>
